#ifndef _TRACE_CAMERA_H_
#define _TRACE_CAMERA_H_

#include "camera.h"
#include "sdl_event.h"


class TraceCamera
	: public Camera
	, public sdl::EventListener
{
public:
	TraceCamera(const glm::vec3& pos, float focal = 0.f);

	// Get direction vector pointing to x, y on the screen
	glm::vec3 getDirection(int x, int y) const;

private:
	void on(EventListener::NewEvent, const SDL_Event*) throw();
};

#endif // _CAMERA_H_

